#ifndef FONTMANAGER_H_
#define FONTMANAGER_H_

#include "Font.h"
#include "Video.h"
#include "Directory.h"
#include <string>
#include <map>

namespace Lame3d
{	
	class FontManager
	{
		public:
			FontManager(const DisplayManager &dm, const char* path="Fonts");
			~FontManager();
			
			Font& Request(const std::string &fname, const Color &color, int size=12);
			
		protected:
			Directory directory;
			const DisplayManager &displayManager;
			
			struct FontDesc
			{
				File *file;
				Color color;
				int size;
				
				bool operator<(const FontDesc &c) const;
			};
			
			std::map<FontDesc, Font*> fonts;
	};
}

#endif /*FONTMANAGER_H_*/
